<!DOCTYPE html>
<html>

  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<meta http-equiv="Cache-Control" content="no-siteapp" />

    <title>Quick Start</title>
    <meta name="description" content="  Introduction  Installation          Master                  via curl          via wget          via powershell                    Windows      MacOS      L...">

    
    <meta name="keywords" content="xmake,docs,quickstart,tboox" /> 

    <!-- qq oauth -->
    <meta property="qc:admins" content="5211601217706727767255" />

    <!--icon -->
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" sizes="192x192" href="/static/img/nice-highres.png" />
	<link rel="apple-touch-icon-precomposed" href="/static/img/apple-touch-icon-57x57-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/static/img/apple-touch-icon-72x72-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/static/img/apple-touch-icon-114x114-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/static/img/apple-touch-icon-144x144-precomposed.png" />
	<link rel="apple-touch-icon-precomposed" sizes="180x180" href="/static/img/retinahd_icon.png" />
	<meta name="msapplication-TileImage" content="/static/img/retinahd_icon.png" />
	
    <link rel="stylesheet" href=" /css/fontawesome/css/font-awesome.min.css ">
    <link rel="stylesheet" href=" /css/main.css ">
    <link rel="canonical" href="https://tboox.org/docs/xmake/quickstart/">
    <link rel="alternate" type="application/rss+xml" title="TBOOX Open Source Project" href="https://tboox.org/feed.xml ">
    <link rel="alternate" hreflang="en" href="https://tboox.org/" />
    <link rel="alternate" hreflang="zh-Hans" href="https://tboox.org/cn/" />




    <script type="text/javascript">
    function isPC(){    
        var userAgentInfo = navigator.userAgent;  
        var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");    
        var flag = true;    
        for (var v = 0; v < Agents.length; v++) {    
            if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; }    
        }    
        return flag;    
    }
    </script>

<!-- baidu ads -->



    <!-- baidu ads -->

</head>


  <body>

    <header id="top">
    <div class="wrapper">
        <a href="/" class="brand">TBOOX</a>
        <button id="headerMenu" class="menu"><i class="fa fa-bars"></i></button>
        <nav id="headerNav">
            <ul>
                <li>
                    
                    <a href="/cn?lang=0">
                    
                        <i class="fa fa-home"></i>中文
                    </a>
                </li>

                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/project/">
                            
                        
                            <i class="fa fa-bookmark"></i>Projects
                        </a>
                    </li>
                    
                    
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/archive/">
                            
                        
                            <i class="fa fa-archive"></i>Archives
                        </a>
                    </li>
                    
                    
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/category/">
                            
                        
                            <i class="fa fa-th-list"></i>Categories
                        </a>
                    </li>
                    
                    
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/tag/">
                            
                        
                            <i class="fa fa-tags"></i>Tags
                        </a>
                    </li>
                    
                    
                    
                
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/docs/">
                            
                        
                            <i class="fa fa-book"></i>Documents
                        </a>
                    </li>
                    
                    
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="https://xmake.io/#/about/contact" target="_blank" >
                            
                        
                            <i class="fa fa-forumbee"></i>Community
                        </a>
                    </li>
                    
                    
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/donation/">
                            
                        
                            <i class="fa fa-heart"></i>Donate
                        </a>
                    </li>
                    
                    
                    
                
                    
                     
                    
                
                    
                     
                     
                    <li>

                        
                            
                            <a href="/about/">
                            
                        
                            <i class="fa fa-user"></i>About
                        </a>
                    </li>
                    
                    
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                     
                     
                    
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
                    
                
            </ul>
        </nav>
    </div>
</header>



        <div class="page clearfix" post>
    <div class="left">
        <h1>Quick Start</h1>
        <hr>
        <ul id="markdown-toc">
  <li><a href="#introduction" id="markdown-toc-introduction">Introduction</a></li>
  <li><a href="#installation" id="markdown-toc-installation">Installation</a>    <ul>
      <li><a href="#master" id="markdown-toc-master">Master</a>        <ul>
          <li><a href="#via-curl" id="markdown-toc-via-curl">via curl</a></li>
          <li><a href="#via-wget" id="markdown-toc-via-wget">via wget</a></li>
          <li><a href="#via-powershell" id="markdown-toc-via-powershell">via powershell</a></li>
        </ul>
      </li>
      <li><a href="#windows" id="markdown-toc-windows">Windows</a></li>
      <li><a href="#macos" id="markdown-toc-macos">MacOS</a></li>
      <li><a href="#linux" id="markdown-toc-linux">Linux</a></li>
      <li><a href="#compilation" id="markdown-toc-compilation">Compilation</a></li>
    </ul>
  </li>
  <li><a href="#quick-start" id="markdown-toc-quick-start">Quick Start</a>    <ul>
      <li><a href="#create-project" id="markdown-toc-create-project">Create Project</a></li>
      <li><a href="#build-project" id="markdown-toc-build-project">Build Project</a></li>
      <li><a href="#run-program" id="markdown-toc-run-program">Run Program</a></li>
      <li><a href="#debug-program" id="markdown-toc-debug-program">Debug Program</a></li>
    </ul>
  </li>
  <li><a href="#project-examples" id="markdown-toc-project-examples">Project Examples</a>    <ul>
      <li><a href="#executable-program" id="markdown-toc-executable-program">Executable Program</a></li>
      <li><a href="#static-library-program" id="markdown-toc-static-library-program">Static Library Program</a></li>
      <li><a href="#share-library-program" id="markdown-toc-share-library-program">Share Library Program</a></li>
    </ul>
  </li>
  <li><a href="#configuration" id="markdown-toc-configuration">Configuration</a>    <ul>
      <li><a href="#target-platforms" id="markdown-toc-target-platforms">Target Platforms</a>        <ul>
          <li><a href="#current-host" id="markdown-toc-current-host">Current Host</a></li>
          <li><a href="#linux-1" id="markdown-toc-linux-1">Linux</a></li>
          <li><a href="#android" id="markdown-toc-android">Android</a></li>
          <li><a href="#iphoneos" id="markdown-toc-iphoneos">iPhoneOS</a></li>
          <li><a href="#windows-1" id="markdown-toc-windows-1">Windows</a></li>
          <li><a href="#mingw" id="markdown-toc-mingw">Mingw</a></li>
          <li><a href="#apple-watchos" id="markdown-toc-apple-watchos">Apple WatchOS</a></li>
          <li><a href="#cross-compilation" id="markdown-toc-cross-compilation">Cross Compilation</a>            <ul>
              <li><a href="#sdk" id="markdown-toc-sdk">–sdk</a></li>
              <li><a href="#toolchains" id="markdown-toc-toolchains">–toolchains</a></li>
              <li><a href="#cross" id="markdown-toc-cross">–cross</a></li>
              <li><a href="#as" id="markdown-toc-as">–as</a></li>
              <li><a href="#cc" id="markdown-toc-cc">–cc</a></li>
              <li><a href="#cxx" id="markdown-toc-cxx">–cxx</a></li>
              <li><a href="#ld" id="markdown-toc-ld">–ld</a></li>
              <li><a href="#sh" id="markdown-toc-sh">–sh</a></li>
              <li><a href="#ar" id="markdown-toc-ar">–ar</a></li>
            </ul>
          </li>
        </ul>
      </li>
      <li><a href="#global-configuration" id="markdown-toc-global-configuration">Global Configuration</a></li>
      <li><a href="#clean-configuration" id="markdown-toc-clean-configuration">Clean Configuration</a></li>
    </ul>
  </li>
  <li><a href="#faq" id="markdown-toc-faq">FAQ</a>    <ul>
      <li><a href="#how-to-get-verbose-command-line-arguments-info" id="markdown-toc-how-to-get-verbose-command-line-arguments-info">How to get verbose command-line arguments info?</a></li>
      <li><a href="#how-to-suppress-all-output-info" id="markdown-toc-how-to-suppress-all-output-info">How to suppress all output info?</a></li>
      <li><a href="#how-to-do-if-xmake-fails" id="markdown-toc-how-to-do-if-xmake-fails">How to do if xmake fails?</a></li>
      <li><a href="#how-to-see-verbose-compiling-warnings" id="markdown-toc-how-to-see-verbose-compiling-warnings">How to see verbose compiling warnings?</a></li>
      <li><a href="#how-to-scan-source-code-and-generate-xmakelua-automaticlly" id="markdown-toc-how-to-scan-source-code-and-generate-xmakelua-automaticlly">How to scan source code and generate xmake.lua automaticlly</a></li>
    </ul>
  </li>
  <li><a href="#backers" id="markdown-toc-backers">Backers</a></li>
  <li><a href="#sponsors" id="markdown-toc-sponsors">Sponsors</a></li>
</ul>

<p>Note: This documents is only a mirror, if you want to see newest documents please goto: <a href="http://xmake.io/#/home/">http://xmake.io/#/home/</a></p>

<p>
<div align="center">
  <a href="http://xmake.io">
    <img width="200" heigth="200" src="https://tboox.org/static/img/xmake/logo256c.png" />
  </a>  

  <h1>xmake</h1>

  <div>
    <a href="https://travis-ci.org/tboox/xmake">
      <img src="https://img.shields.io/travis/tboox/xmake/master.svg?style=flat-square" alt="travis-ci" />
    </a>
    <a href="https://ci.appveyor.com/project/waruqi/xmake/branch/master">
      <img src="https://img.shields.io/appveyor/ci/waruqi/xmake/master.svg?style=flat-square" alt="appveyor-ci" />
    </a>
    <a href="https://codecov.io/gh/tboox/xmake">
      <img src="https://img.shields.io/codecov/c/github/tboox/xmake/master.svg?style=flat-square" alt="Coverage" />
    </a>
    <a href="https://github.com/xmake-io/xmake/releases">
      <img src="https://img.shields.io/github/release/tboox/xmake.svg?style=flat-square" alt="Github All Releases" />
    </a>
    <a href="https://aur.archlinux.org/packages/xmake">
      <img src="https://img.shields.io/aur/votes/xmake.svg?style=flat-square" alt="AUR votes" />
    </a>
  </div>
  <div>
    <a href="https://github.com/xmake-io/xmake/blob/master/LICENSE.md">
      <img src="https://img.shields.io/github/license/tboox/xmake.svg?colorB=f48041&amp;style=flat-square" alt="license" />
    </a>
    <a href="https://gitter.im/tboox/tboox?utm_source=badge&amp;utm_medium=badge&amp;utm_campaign=pr-badge&amp;utm_content=badge">
      <img src="https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&amp;colorB=96c312" alt="Gitter" />
    </a>
    <a href="https://t.me/joinchat/F2dIAw5iTkDUMwCQ_8CStw">
      <img src="https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square" alt="Telegram" />
    </a>
    <a href="https://tboox.bearychat.com/signup/98bf6970b9f889d6ae3fbc3d50ee8a36">
      <img src="https://img.shields.io/badge/chat-on%20bearychat-brightgreen.svg?style=flat-square" alt="Bearychat" />
    </a>
    <a href="https://jq.qq.com/?_wv=1027&amp;k=5hpwWFv">
      <img src="https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square" alt="QQ" />
    </a>
    <a href="http://xmake.io/pages/donation.html#donate">
      <img src="https://img.shields.io/badge/donate-us-orange.svg?style=flat-square" alt="Donate" />
    </a>
  </div>

  <p>A cross-platform build utility based on Lua</p>
</div>
</p>

<h2 id="introduction">Introduction</h2>

<p>xmake is a cross-platform build utility based on lua.</p>

<p>The project focuses on making development and building easier and provides many features (.e.g package, install, plugin, macro, action, option, task …), 
so that any developer can quickly pick it up and enjoy the productivity boost when developing and building project.</p>

<h2 id="installation">Installation</h2>

<h4 id="master">Master</h4>

<h5 id="via-curl">via curl</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>bash &lt;<span class="o">(</span>curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh<span class="o">)</span>
</code></pre>
</div>

<h5 id="via-wget">via wget</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>bash &lt;<span class="o">(</span>wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -<span class="o">)</span>
</code></pre>
</div>

<h5 id="via-powershell">via powershell</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code>Invoke-Expression <span class="o">(</span>Invoke-Webrequest <span class="s1">'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1'</span> -UseBasicParsing<span class="o">)</span>.Content
</code></pre>
</div>

<h4 id="windows">Windows</h4>

<ol>
  <li>Download xmake windows installer from <a href="https://github.com/xmake-io/xmake/releases">Releases</a></li>
  <li>Run xmake-[version].exe</li>
</ol>

<h4 id="macos">MacOS</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>brew install xmake
</code></pre>
</div>

<h4 id="linux">Linux</h4>

<p>On Archlinux:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>yaourt xmake
</code></pre>
</div>

<p>On Ubuntu:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo add-apt-repository ppa:tboox/xmake
<span class="gp">$ </span>sudo apt update
<span class="gp">$ </span>sudo apt install xmake
</code></pre>
</div>

<p>Or add xmake package source manually:</p>

<div class="highlighter-rouge"><pre class="highlight"><code>deb http://ppa.launchpad.net/tboox/xmake/ubuntu yakkety main 
deb-src http://ppa.launchpad.net/tboox/xmake/ubuntu yakkety main 
</code></pre>
</div>

<p>Then we run:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt update
<span class="gp">$ </span>sudo apt install xmake
</code></pre>
</div>

<p>Or download deb package to install it:</p>

<ol>
  <li>Download xmake <code class="highlighter-rouge">.deb</code> install package from <a href="https://github.com/xmake-io/xmake/releases">Releases</a></li>
  <li>Run <code class="highlighter-rouge">dpkg -i xmake-xxxx.deb</code></li>
</ol>

<h4 id="compilation">Compilation</h4>

<p>Compile and install:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git clone https://github.com/xmake-io/xmake.git
<span class="gp">$ </span><span class="nb">cd</span> ./xmake
<span class="gp">$ </span>./scripts/get.sh __local__
</code></pre>
</div>

<p>Only install and update lua scripts:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./scripts/get.sh __local__ __install_only__
</code></pre>
</div>

<p>Uninstall:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./scripts/get.sh __uninstall__
</code></pre>
</div>

<p>Or compile and install via make:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>make build; sudo make install
</code></pre>
</div>

<p>Install to other given directory:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo make install <span class="nv">prefix</span><span class="o">=</span>/usr/local
</code></pre>
</div>

<p>Uninstall:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo make uninstall
</code></pre>
</div>

<h2 id="quick-start">Quick Start</h2>

<p><a href="https://asciinema.org/a/133693"><img src="https://asciinema.org/a/133693.png" alt="asciicast" /></a></p>

<h4 id="create-project">Create Project</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake create -l c -P ./hello
</code></pre>
</div>

<p>And xmake will generate some files for c language project:</p>

<div class="highlighter-rouge"><pre class="highlight"><code>hello
├── src
│   └── main.c
└── xmake.lua
</code></pre>
</div>

<p>It is a simple console program only for printing <code class="highlighter-rouge">hello xmake!</code></p>

<p>The content of <code class="highlighter-rouge">xmake.lua</code> is very simple:</p>

<div class="language-lua highlighter-rouge"><pre class="highlight"><code><span class="n">target</span><span class="p">(</span><span class="s2">"hello"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"binary"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/*.c"</span><span class="p">)</span> 
</code></pre>
</div>

<p>Support languages:</p>

<ul>
  <li>c/c++</li>
  <li>objc/c++</li>
  <li>asm</li>
  <li>swift</li>
  <li>dlang</li>
  <li>golang</li>
  <li>rust</li>
</ul>

<p class="tip">
    If you want to known more options, please run: `xmake create --help`
</p>

<h4 id="build-project">Build Project</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake
</code></pre>
</div>

<h4 id="run-program">Run Program</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake run hello
</code></pre>
</div>

<h4 id="debug-program">Debug Program</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake run -d hello 
</code></pre>
</div>

<p>It will start the debugger (.e.g lldb, gdb, windbg, vsjitdebugger, ollydbg ..) to load our program.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="o">[</span>lldb]<span class="nv">$target</span> create <span class="s2">"build/hello"</span>
Current executable <span class="nb">set </span>to <span class="s1">'build/hello'</span> <span class="o">(</span>x86_64<span class="o">)</span>.
<span class="o">[</span>lldb]<span class="nv">$b</span> main
Breakpoint 1: where <span class="o">=</span> hello<span class="sb">`</span>main, address <span class="o">=</span> 0x0000000100000f50
<span class="o">[</span>lldb]<span class="nv">$r</span>
Process 7509 launched: <span class="s1">'/private/tmp/hello/build/hello'</span> <span class="o">(</span>x86_64<span class="o">)</span>
Process 7509 stopped
<span class="k">*</span> thread <span class="c">#1: tid = 0x435a2, 0x0000000100000f50 hello`main, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</span>
    frame <span class="c">#0: 0x0000000100000f50 hello`main</span>
hello<span class="sb">`</span>main:
<span class="gp">-&gt;  </span>0x100000f50 &lt;+0&gt;:  pushq  %rbp
    0x100000f51 &lt;+1&gt;:  movq   %rsp, %rbp
    0x100000f54 &lt;+4&gt;:  leaq   0x2b<span class="o">(</span>%rip<span class="o">)</span>, %rdi          ; <span class="s2">"hello world!"</span>
    0x100000f5b &lt;+11&gt;: callq  0x100000f64               ; symbol stub <span class="k">for</span>: puts
<span class="o">[</span>lldb]<span class="err">$</span>
</code></pre>
</div>

<p class="tip">
    You can also use short command option, for exmaple: `xmake r` or `xmake run`
</p>

<h2 id="project-examples">Project Examples</h2>

<h4 id="executable-program">Executable Program</h4>

<div class="language-lua highlighter-rouge"><pre class="highlight"><code><span class="n">target</span><span class="p">(</span><span class="s2">"test"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"binary"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/*c"</span><span class="p">)</span>
</code></pre>
</div>

<h4 id="static-library-program">Static Library Program</h4>

<div class="language-lua highlighter-rouge"><pre class="highlight"><code><span class="n">target</span><span class="p">(</span><span class="s2">"library"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"static"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/library/*.c"</span><span class="p">)</span>

<span class="n">target</span><span class="p">(</span><span class="s2">"test"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"binary"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/*c"</span><span class="p">)</span>
    <span class="n">add_deps</span><span class="p">(</span><span class="s2">"library"</span><span class="p">)</span>
</code></pre>
</div>

<p>We use <code class="highlighter-rouge">add_deps</code> to link a static library to test target.</p>

<h4 id="share-library-program">Share Library Program</h4>

<div class="language-lua highlighter-rouge"><pre class="highlight"><code><span class="n">target</span><span class="p">(</span><span class="s2">"library"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"shared"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/library/*.c"</span><span class="p">)</span>

<span class="n">target</span><span class="p">(</span><span class="s2">"test"</span><span class="p">)</span>
    <span class="n">set_kind</span><span class="p">(</span><span class="s2">"binary"</span><span class="p">)</span>
    <span class="n">add_files</span><span class="p">(</span><span class="s2">"src/*c"</span><span class="p">)</span>
    <span class="n">add_deps</span><span class="p">(</span><span class="s2">"library"</span><span class="p">)</span>
</code></pre>
</div>

<p>We use <code class="highlighter-rouge">add_deps</code> to link a share library to test target.</p>

<h2 id="configuration">Configuration</h2>

<p>Set compilation configuration before building project with command <code class="highlighter-rouge">xmake f|config</code>.</p>

<p>And if you want to known more options, please run: <code class="highlighter-rouge">xmake f --help</code>。</p>

<p class="tip">
    You can use short or long command option, for exmaple: <br />
    `xmake f` or `xmake config`.<br />
    `xmake f -p linux` or `xmake config --plat=linux`.
</p>

<h4 id="target-platforms">Target Platforms</h4>

<h5 id="current-host">Current Host</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake
</code></pre>
</div>

<p class="tip">
    XMake will detect the current host platform automatically and build project.
</p>

<h5 id="linux-1">Linux</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux <span class="o">[</span>-a i386|x86_64]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h5 id="android">Android</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p android --ndk<span class="o">=</span>~/files/android-ndk-r10e/ <span class="o">[</span>-a armv5te|armv6|armv7-a|armv8-a|arm64-v8a]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p>If you want to set the other android toolchains, you can use <a href="#-toolchains">–toolchains</a> option.</p>

<p>For example:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p android --ndk<span class="o">=</span>~/files/android-ndk-r10e/ -a arm64-v8a --toolchains<span class="o">=</span>~/files/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin
</code></pre>
</div>

<p>The <a href="#-toolchains">–toolchains</a> option is used to set <code class="highlighter-rouge">bin</code> directory of toolchains.</p>

<p class="tip">
Please attempt to set `--arch=` option if it had failed to check compiler.
</p>

<h5 id="iphoneos">iPhoneOS</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p iphoneos <span class="o">[</span>-a armv7|armv7s|arm64|i386|x86_64]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h5 id="windows-1">Windows</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p windows <span class="o">[</span>-a x86|x64]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h5 id="mingw">Mingw</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p mingw --sdk<span class="o">=</span>/usr/local/i386-mingw32-4.3.0/ <span class="o">[</span>-a i386|x86_64]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h5 id="apple-watchos">Apple WatchOS</h5>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p watchos <span class="o">[</span>-a i386|armv7k]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h5 id="cross-compilation">Cross Compilation</h5>

<p>For linux platform:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/usr/local/arm-linux-gcc/ <span class="o">[</span>--toolchains<span class="o">=</span>/sdk/bin] <span class="o">[</span>--cross<span class="o">=</span>arm-linux-]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p>Fro other cross platform:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p cross --sdk<span class="o">=</span>/usr/local/arm-xxx-gcc/ <span class="o">[</span>--toolchains<span class="o">=</span>/sdk/bin] <span class="o">[</span>--cross<span class="o">=</span>arm-linux-]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p>For custem cross platform (<code class="highlighter-rouge">is_plat("myplat")</code>):</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p myplat --sdk<span class="o">=</span>/usr/local/arm-xxx-gcc/ <span class="o">[</span>--toolchains<span class="o">=</span>/sdk/bin] <span class="o">[</span>--cross<span class="o">=</span>arm-linux-]
<span class="gp">$ </span>xmake
</code></pre>
</div>

<table>
  <thead>
    <tr>
      <th>Configuration Option</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="#-sdk">–sdk</a></td>
      <td>Set the sdk root directory of toolchains</td>
    </tr>
    <tr>
      <td><a href="#-toolchains">–toolchains</a></td>
      <td>Set the <code class="highlighter-rouge">bin</code> directory of toolchains</td>
    </tr>
    <tr>
      <td><a href="#-cross">–cross</a></td>
      <td>Set the prefix of compilation tools</td>
    </tr>
    <tr>
      <td><a href="#-as">–as</a></td>
      <td>Set <code class="highlighter-rouge">asm</code> assembler</td>
    </tr>
    <tr>
      <td><a href="#-cc">–cc</a></td>
      <td>Set <code class="highlighter-rouge">c</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-cxx">–cxx</a></td>
      <td>Set <code class="highlighter-rouge">c++</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-mm">–mm</a></td>
      <td>Set <code class="highlighter-rouge">objc</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-mxx">–mxx</a></td>
      <td>Set <code class="highlighter-rouge">objc++</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-sc">–sc</a></td>
      <td>Set <code class="highlighter-rouge">swift</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-gc">–gc</a></td>
      <td>Set <code class="highlighter-rouge">golang</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-dc">–dc</a></td>
      <td>Set <code class="highlighter-rouge">dlang</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-rc">–rc</a></td>
      <td>Set <code class="highlighter-rouge">rust</code> compiler</td>
    </tr>
    <tr>
      <td><a href="#-ld">–ld</a></td>
      <td>Set <code class="highlighter-rouge">c/c++/objc/asm</code> linker</td>
    </tr>
    <tr>
      <td><a href="#-sh">–sh</a></td>
      <td>Set <code class="highlighter-rouge">c/c++/objc/asm</code> shared library linker</td>
    </tr>
    <tr>
      <td><a href="#-ar">–ar</a></td>
      <td>Set <code class="highlighter-rouge">c/c++/objc/asm</code> static library archiver</td>
    </tr>
    <tr>
      <td><a href="#-sc-ld">–sc-ld</a></td>
      <td>Set <code class="highlighter-rouge">swift</code> linker</td>
    </tr>
    <tr>
      <td><a href="#-sc-sh">–sc-sh</a></td>
      <td>Set <code class="highlighter-rouge">swift</code> shared library linker</td>
    </tr>
    <tr>
      <td><a href="#-gc-ld">–gc-ld</a></td>
      <td>Set <code class="highlighter-rouge">golang</code> linker</td>
    </tr>
    <tr>
      <td><a href="#-gc-ar">–gc-ar</a></td>
      <td>Set <code class="highlighter-rouge">golang</code> static library archiver</td>
    </tr>
    <tr>
      <td><a href="#-dc-ld">–dc-ld</a></td>
      <td>Set <code class="highlighter-rouge">dlang</code> linker</td>
    </tr>
    <tr>
      <td><a href="#-dc-sh">–dc-sh</a></td>
      <td>Set <code class="highlighter-rouge">dlang</code> shared library linker</td>
    </tr>
    <tr>
      <td><a href="#-dc-ar">–dc-ar</a></td>
      <td>Set <code class="highlighter-rouge">dlang</code> static library archiver</td>
    </tr>
    <tr>
      <td><a href="#-rc-ld">–rc-ld</a></td>
      <td>Set <code class="highlighter-rouge">rust</code> linker</td>
    </tr>
    <tr>
      <td><a href="#-rc-sh">–rc-sh</a></td>
      <td>Set <code class="highlighter-rouge">rust</code> shared library linker</td>
    </tr>
    <tr>
      <td><a href="#-rc-ar">–rc-ar</a></td>
      <td>Set <code class="highlighter-rouge">rust</code> static library archiver</td>
    </tr>
    <tr>
      <td><a href="#-asflags">–asflags</a></td>
      <td>Set <code class="highlighter-rouge">asm</code> assembler option</td>
    </tr>
    <tr>
      <td><a href="#-cflags">–cflags</a></td>
      <td>Set <code class="highlighter-rouge">c</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-cxflags">–cxflags</a></td>
      <td>Set <code class="highlighter-rouge">c/c++</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-cxxflags">–cxxflags</a></td>
      <td>Set <code class="highlighter-rouge">c++</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-mflags">–mflags</a></td>
      <td>Set <code class="highlighter-rouge">objc</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-mxflags">–mxflags</a></td>
      <td>Set <code class="highlighter-rouge">objc/c++</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-mxxflags">–mxxflags</a></td>
      <td>Set <code class="highlighter-rouge">objc++</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-scflags">–scflags</a></td>
      <td>Set <code class="highlighter-rouge">swift</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-gcflags">–gcflags</a></td>
      <td>Set <code class="highlighter-rouge">golang</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-dcflags">–dcflags</a></td>
      <td>Set <code class="highlighter-rouge">dlang</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-rcflags">–rcflags</a></td>
      <td>Set <code class="highlighter-rouge">rust</code> compiler option</td>
    </tr>
    <tr>
      <td><a href="#-ldflags">–ldflags</a></td>
      <td>Set  linker option</td>
    </tr>
    <tr>
      <td><a href="#-shflags">–shflags</a></td>
      <td>Set  shared library linker option</td>
    </tr>
    <tr>
      <td><a href="#-arflags">–arflags</a></td>
      <td>Set  static library archiver option</td>
    </tr>
  </tbody>
</table>

<p class="tip">
if you want to known more options, please run: `xmake f --help`。
</p>

<h6 id="sdk">–sdk</h6>

<ul>
  <li>Set the sdk root directory of toolchains</li>
</ul>

<p>xmake provides a convenient and flexible cross-compiling support.
In most cases, we need not to configure complex toolchains prefix, for example: <code class="highlighter-rouge">arm-linux-</code></p>

<p>As long as this toolchains meet the following directory structure:</p>

<div class="highlighter-rouge"><pre class="highlight"><code>/home/toolchains_sdkdir
   - bin
       - arm-linux-gcc
       - arm-linux-ld
       - ...
   - lib
       - libxxx.a
   - include
       - xxx.h
</code></pre>
</div>

<p>Then，we can only configure the sdk directory and build it.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/home/toolchains_sdkdir
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p>xmake will detect the prefix: arm-linux- and add the include and library search directory automatically.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>-I/home/toolchains_sdkdir/include -L/home/toolchains_sdkdir/lib
</code></pre>
</div>

<h6 id="toolchains">–toolchains</h6>

<ul>
  <li>Set the <code class="highlighter-rouge">bin</code> directory of toolchains</li>
</ul>

<p>We need set it manually if the toolchains /bin directory is in other places, for example:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/home/toolchains_sdkdir --toolchains<span class="o">=</span>/usr/opt/bin
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h6 id="cross">–cross</h6>

<ul>
  <li>Set the prefix of compilation tools</li>
</ul>

<p>For example, under the same toolchains directory at the same time, there are two different compilers:</p>

<div class="highlighter-rouge"><pre class="highlight"><code>/opt/bin
 - armv7-linux-gcc
 - aarch64-linux-gcc
</code></pre>
</div>

<p>If we want to use the <code class="highlighter-rouge">armv7-linux-gcc</code> compiler, we can run the following command:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/usr/toolsdk --toolchains<span class="o">=</span>/opt/bin --cross<span class="o">=</span>armv7-linux-
</code></pre>
</div>

<h6 id="as">–as</h6>

<ul>
  <li>Set <code class="highlighter-rouge">asm</code> assembler</li>
</ul>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/user/toolsdk --as<span class="o">=</span>armv7-linux-as
</code></pre>
</div>

<p>If the ‘AS’ environment variable exists, it will use the values specified in the current environment variables.</p>

<p class="tips">
We can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --as=gcc@/home/xxx/asmips.exe` 
</p>

<h6 id="cc">–cc</h6>

<ul>
  <li>Set c compiler</li>
</ul>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/user/toolsdk --cc<span class="o">=</span>armv7-linux-clang
</code></pre>
</div>

<p>If the ‘CC’ environment variable exists, it will use the values specified in the current environment variables.</p>

<p class="tips">
We can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --cc=gcc@/home/xxx/ccmips.exe` 
</p>

<h6 id="cxx">–cxx</h6>

<ul>
  <li>Set <code class="highlighter-rouge">c++</code> compiler</li>
</ul>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/user/toolsdk --cxx<span class="o">=</span>armv7-linux-clang++
</code></pre>
</div>

<p>If the ‘CXX’ environment variable exists, it will use the values specified in the current environment variables.</p>

<p class="tips">
We can set a unknown compiler as like-gcc/clang compiler, .e.g `xmake f --cxx=g++@/home/xxx/c++mips.exe` 
</p>

<h6 id="ld">–ld</h6>

<ul>
  <li>Set <code class="highlighter-rouge">c/c++/objc/asm</code> linker</li>
</ul>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/user/toolsdk --ld<span class="o">=</span>armv7-linux-clang++
</code></pre>
</div>

<p>If the ‘LD’ environment variable exists, it will use the values specified in the current environment variables.</p>

<p class="tips">
We can set a unknown compiler as like-gcc/clang linker, .e.g `xmake f --ld=g++@/home/xxx/c++mips.exe` 
</p>

<h6 id="sh">–sh</h6>

<ul>
  <li>Set <code class="highlighter-rouge">c/c++/objc/asm</code> shared library linker</li>
</ul>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/user/toolsdk --sh<span class="o">=</span>armv7-linux-clang++
</code></pre>
</div>

<p>If the ‘SH’ environment variable exists, it will use the values specified in the current environment variables.</p>

<p class="tips">
We can set a unknown compiler as like-gcc/clang linker, .e.g `xmake f --sh=g++@/home/xxx/c++mips.exe` 
</p>

<h6 id="ar">–ar</h6>

<ul>
  <li>Set <code class="highlighter-rouge">c/c++/objc/asm</code> static library archiver</li>
</ul>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p linux --sdk<span class="o">=</span>/user/toolsdk --ar<span class="o">=</span>armv7-linux-ar
</code></pre>
</div>

<p>If the ‘AR’ environment variable exists, it will use the values specified in the current environment variables.</p>

<p class="tips">
We can set a unknown compiler as like-ar archiver, .e.g `xmake f --ar=ar@/home/xxx/armips.exe` 
</p>

<h4 id="global-configuration">Global Configuration</h4>

<p>You can save to the global configuration for simplfying operation.</p>

<p>For example:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake g --ndk<span class="o">=</span>~/files/android-ndk-r10e/
</code></pre>
</div>

<p>Now, we config and build project for android again.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p android
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p class="tip">
    You can use short or long command option, for exmaple: `xmake g` or `xmake global`.<br />
</p>

<h4 id="clean-configuration">Clean Configuration</h4>

<p>We can clean all cached configuration and re-configure projecct.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -c
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p>or</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -p iphoneos -c
<span class="gp">$ </span>xmake
</code></pre>
</div>

<h2 id="faq">FAQ</h2>

<h4 id="how-to-get-verbose-command-line-arguments-info">How to get verbose command-line arguments info?</h4>

<p>Get the help info of the main command.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake <span class="o">[</span>-h|--help]
</code></pre>
</div>

<p>Get the help info of the configuration command.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f <span class="o">[</span>-h|--help]
</code></pre>
</div>

<p>Get the help info of the givent action or plugin command.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake <span class="o">[</span>action|plugin] <span class="o">[</span>-h|--help]
</code></pre>
</div>

<p>For example:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake run --help
</code></pre>
</div>

<h4 id="how-to-suppress-all-output-info">How to suppress all output info?</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake <span class="o">[</span>-q|--quiet]
</code></pre>
</div>

<h4 id="how-to-do-if-xmake-fails">How to do if xmake fails?</h4>

<p>Please attempt to clean configuration and rebuild it first.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -c
<span class="gp">$ </span>xmake
</code></pre>
</div>

<p>If it fails again, please add <code class="highlighter-rouge">-v</code> or <code class="highlighter-rouge">--verbose</code> options to get more verbose info.</p>

<p>For exmaple:</p>

<pre><code class="language-hash">$ xmake [-v|--verbose] 
</code></pre>

<p>And add <code class="highlighter-rouge">--backtrace</code> to get the verbose backtrace info, then you can submit these infos to <a href="https://github.com/xmake-io/xmake/issues">issues</a>.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake -v --backtrace
</code></pre>
</div>

<h4 id="how-to-see-verbose-compiling-warnings">How to see verbose compiling warnings?</h4>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake <span class="o">[</span>-w|--warning] 
</code></pre>
</div>

<h4 id="how-to-scan-source-code-and-generate-xmakelua-automaticlly">How to scan source code and generate xmake.lua automaticlly</h4>

<p>You only need run the following command:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake
</code></pre>
</div>

<p>xmake will scan all source code in current directory and build it automaticlly.</p>

<p>And we can run it directly.</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake run
</code></pre>
</div>

<p>If we only want to generate xmake.lua file, we can run:</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>xmake f -y
</code></pre>
</div>

<p>If you want to known more information please see <a href="https://tboox.org/2017/01/07/build-without-makefile/">Scan source codes and build project without makefile</a></p>

<h2 id="backers">Backers</h2>

<p>Thank you to all our backers! 🙏 [<a href="https://opencollective.com/xmake#backer">Become a backer</a>]</p>

<p><a href="https://opencollective.com/xmake#backers" target="_blank"><img src="https://opencollective.com/xmake/backers.svg?width=890" /></a></p>

<h2 id="sponsors">Sponsors</h2>

<p>Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [<a href="https://opencollective.com/xmake#sponsor">Become a sponsor</a>]</p>

<p><a href="https://opencollective.com/xmake/sponsor/0/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/0/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/1/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/1/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/2/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/2/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/3/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/3/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/4/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/4/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/5/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/5/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/6/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/6/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/7/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/7/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/8/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/8/avatar.svg" /></a>
<a href="https://opencollective.com/xmake/sponsor/9/website" target="_blank"><img src="https://opencollective.com/xmake/sponsor/9/avatar.svg" /></a></p>



        <!-- baidu ads -->
        
    </div>
    <button class="anchor"><i class="fa fa-anchor"></i></button>
    <div class="right">
        <div class="wrap">


            <!-- codefund ads -->
            

            <!-- Content -->
            <div class="side content">
                <div>
                    Content
                </div>
                <ul id="content-side" class="content-ul">
                </ul>
            </div>

            <!-- baidu ads -->
            

            <!-- 其他div框放到这里 -->
            


            <!-- baidu ads -->
            

            <!-- chitika ads -->
            
        </div>
    </div>

    <!-- baidu ads -->
    
</div>
<script src="/js/pageContent.js " charset="utf-8"></script>



    <footer class="site-footer">
    <div class="wrapper">
        <p class="description">
             Copyright (c) 2016-2020 tboox.org 
        </p>
        <p class="contact">
            
            <a href="https://github.com/waruqi" title="GitHub"><i class="fa fa-github" aria-hidden="true"></i></a> 
             
            
            <a href="mailto:waruqi@gmail.com" title="email"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> 
            
            
            <a href="https://twitter.com/waruqi" title="Twitter"><i class="fa fa-twitter" aria-hidden="true"></i></a> 
            
            <a href="/feed.xml" title="feed"><i class="fa fa-feed" aria-hidden="true"></i></a> 
        </p>
        <p class="power">
            <span>
                Site powered by <a href="https://jekyllrb.com/">Jekyll</a> & <a href="https://github.com/Gaohaoyang">HyG</a> & <a href="https://pages.github.com/">Github Pages</a>.
            </span>
        </p>
    </div>
</footer>

    <div class="back-to-top">
    <a href="#top" class="scroll">
        <i class="fa fa-arrow-up" aria-hidden="true"></i>
    </a>
</div>

    <script src=" /js/main.js " charset="utf-8"></script>
    <script src=" /js/scroll.min.js " charset="utf-8"></script>
  </body>

</html>
